package com.gitee.mp.domain.definition;

import io.milvus.grpc.DataType;
import lombok.Data;
import lombok.experimental.Accessors;

import java.util.Map;

/**
 * @author hongda.li
 */
@Data
@Accessors(chain = true)
public class FieldDefinition {
    /**
     * 来源字段名称
     */
    private String from;

    /**
     * 字段名称
     */
    private String fieldName;

    /**
     * 字段描述
     */
    private String description;

    /**
     * 字段类型
     */
    private DataType type;

    /**
     * 最大长度
     */
    private int maxLength;

    /**
     * 向量维度
     */
    private int dimension;

    /**
     * 数组元素类型
     */
    private DataType elementType;

    /**
     * 是否为主键
     */
    private boolean isPrimary;

    /**
     * 是否自动递增
     */
    private boolean autoIncrement;

    /**
     * 是否为动态字段
     */
    private boolean isDynamic;

    /**
     * 是否为分区字段
     */
    private boolean isPartitionKey;

    /**
     * 扩展参数
     */
    private Map<String, Object> extendParams;
}
